//找出强数对的最大异或值 I
/*给你一个下标从 0 开始的整数数组 nums 。如果一对整数 x 和 y 满足以下条件，则称其为 强数对 ：

|x - y| <= min(x, y)
你需要从 nums 中选出两个整数，且满足：这两个整数可以形成一个强数对，并且它们的按位异或（XOR）值是在该数组所有强数对中的 最大值 。

返回数组 nums 所有可能的强数对中的 最大 异或值。

注意，你可以选择同一个整数两次来形成一个强数对。
*/
class Solution {
public:
    int maximumStrongPairXor(vector<int>& nums) {
        priority_queue<int> p;
        p.push(0);
        for (int i = 0; i < nums.size(); i++) {
            for (int j = i + 1; j < nums.size(); j++) {
                if (abs(nums[i] - nums[j]) <= min(nums[i], nums[j]))
                    p.push(nums[i] ^ nums[j]);
            }
        }
        return p.top();
    }
};

//字符串中的最大奇数
/*给你一个字符串 num ，表示一个大整数。请你在字符串 num 的所有 非空子字符串 中找出 值最大的奇数 ，并以字符串形式返回。如果不存在奇数，则返回一个空字符串 "" 。

子字符串 是字符串中的一个连续的字符序列。
*/
class Solution {
public:
    string largestOddNumber(string num) {
        int index = num.size() - 1;
        while (index >= 0) {
          //  cout << num[index] << ' ';
            int temp = num[index] - '0';
            if (temp % 2)
                break;
            index--;
        }
        return string(num.begin(), num.begin() + index + 1);
    }
};